package com.whmskj.xjlhbc.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.whmskj.xjlhbc.domain.PersonnelManagementDataSheets;
import com.whmskj.xjlhbc.domain.Ry1402GroupTable;
import com.whmskj.xjlhbc.dto.PersonnelManagementDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;
import java.util.Map;

@Mapper
public interface PersonnelManagementDataSheetsMapper extends BaseMapper<PersonnelManagementDataSheets> {

    List<PersonnelManagementDataSheets> queryList(@Param("className") String className, @Param("dutyType") String dutyType, @Param("positions1") String positions1);

    List<Object> queryPostList(String depart);

    List<String> queryDepartmentList();

    List<Ry1402GroupTable> queryGroupTableList();

    List<PersonnelManagementDto> queryStaffList();

    /**
     * 统计性别数
     * @return
     */
    Map<String, Integer> getGenderCount(@Param("class22") String class22,
                                        @Param("fe1e") String fe1e,
                                        @Param("sector") String sector,
                                        @Param("department") String department);

    /**
     * 修改岗位和部门
     * @param dto
     * @return
     */
    int updatePositionAndDept(PersonnelManagementDto dto);

    /**
     * 修改工时
     * @param dto
     * @return
     */
    int updateWorkingHours(PersonnelManagementDto dto);

    /**
     * 条件查询
     *
     * @param class22
     * @param fe1e
     * @param sector
     * @param department
     * @return
     */
// 在Mapper接口中，确保方法参数使用@Param注解
    List<PersonnelManagementDto> selectByCondition(@Param("class22") String class22,
                                                   @Param("fe1e") String fe1e,
                                                   @Param("sector") String sector,
                                                   @Param("department") String department, @Param("id") Integer id);

}
